Methods, systems, and computer program products for using an E.164 number (ENUM) database for message service message routing resolution among 2G and subsequent generation network systems

ABSTRACT

Methods, systems, and computer program products for using an E.164 number (ENUM) database for message service message routing resolution among 2G and subsequent generation network systems are disclosed. According to one method, a message including message service message content is received. The message may include a 2G message recipient identifier. An ENUM database may be queried. A response from the ENUM database is received. Based on the response, unavailability of a subsequent generation network address for the recipient is determined. In response to the unavailability, the message service message content is attempted to be delivered to the recipient via a 2G network.

TECHNICAL FIELD

The subject matter described herein relates to providing E.164 number (ENUM) mapping service in a communications network. More particularly, the subject matter described herein relates to methods, systems, and computer program products for using an ENUM database for message service message routing resolution among 2G and subsequent generation network systems.

BACKGROUND

Cellular communications networks have evolved over time such that there are now a variety of network technologies available in the marketplace. As technology advances, newer systems are deployed. However, older legacy systems cannot be made immediately obsolete. Older legacy systems require maintenance for a variety of reasons. For example, the cost of upgrading equipment may be prohibitive. As well, an installed customer base may rely on installed equipment and resist expenditures for newer technology.

Two such presently deployed network technologies are second generation (2G) cellular systems and third generation (3G) cellular systems. 3G networks are the newer generation of the two and provide many existing 2G services as well as adding additional services. Examples of 2G networks include interim standard-41 (IS-41) and global system for mobile communications (GSM) networks. Examples of 3G networks include session initiation protocol (SIP)-based networks, Internet protocol (IP) multimedia subsystem (IMS) networks and cellular internet access networks.

One service that is available in both systems is short message service (SMS). Short message service (SMS), which was first introduced by European wireless network operators in 1991, enables mobile subscribers to easily send and receive text messages via wireless handsets. Although specifications and industry standards related to SMS are constantly evolving and being modified, SMS messages have traditionally been used to convey readable text information, where the text may include any combination of characters that may be entered via a keypad or keyboard. Multimedia message service (MMS) extends the basic SMS concept to include a variety of message content types, including text, still images, video, and audio.

SMS delivery service provides a mechanism for transmitting messages to and from SMS capable terminals (e.g., wireless handsets, personal computers, etc.) via a signaling component of the wireless communication network. With particular regard to the sending and receiving of SMS messages by a wireless handset, a signaling network provides the transport facilities necessary to communicate short messages between a store-and-forward network element, known as a short message service center (SMSC), and a wireless handset.

In contrast to earlier text message transmission services, such as alphanumeric paging, SMS technology is designed to provide guaranteed delivery of an SMS message to a destination. That is, if a temporary network failure or the unavailability of a message recipient prohibits the immediate delivery of an SMS message, then the SMS message is stored in the network (i.e., at an SMSC) until the destination/intended message recipient becomes available. Another of the key and distinguishing characteristics of SMS service, with respect to previously available message communication services, is that an active mobile handset is able to send or receive a short message at any time, regardless of whether or not a voice or data call is in progress.

Internet engineering task force (IETF) request for comments number 2916 (RFC 2916) describes an ENUM system for facilitating the interconnection of communications networks that rely on telephone numbers with the communications networks that utilize the domain name system (DNS). In particular, the ENUM system can map a particular number referred to as an E.164 number to one or more uniform resource identifiers (URIs) in the DNS. URIs are strings of characters that identify resources, such as documents, images, files, databases, e-mail addresses, websites or other resources or services in a common structured format. A URI can include among other things a SIP URI, an instant messaging (IM) identifier, an e-mail address identifier, an Internet chat session identifier, and an IP address.

To assist with the routing of SMS messages in a 3G network, the ENUM system may be used to find a delivery address of an SMS message recipient. However, improper provisioning of the ENUM database or the absence of a 3G delivery address for the SMS message may result in the SMS message being undeliverable even when the intended message recipient is reachable via a 2G network address. Accordingly, there exists a need for improved methods, systems, and computer program products for using an E.164 number (ENUM) database for message service message routing resolution among 2G and 3G network systems.

SUMMARY

According to one aspect, the subject matter described herein comprises methods, systems, and computer program products for messaging service message routing resolution among 2G and subsequent generation network systems. One method includes receiving a message service message including message service content and a 2G message recipient identifier associated with a messaging service message recipient. An ENUM database is queried using the 2G message recipient identifier. A response is received from the ENUM database. Based on the response, unavailability of a subsequent generation network address for the recipient is determined. In response to the unavailability, delivery of the message service content to the recipient is attempted via a 2G network.

As used herein, a subsequent generation network includes a third generation (3G) network, a fourth generation (4G) network, and any later generation network. Accordingly, all subsequent generation networks after 2G are considered within the scope of the subject matter described herein. The term “message service message” is intended to refer to a message that carries non-call media content between subscribers of 2G and subsequent generation networks. Examples of message service messages include SMS messages, MMS messages, and instant messages.

The subject matter described herein providing message service message routing resolution among 2G and 3G network systems may be implemented using a computer program product comprising computer executable instructions embodied in a computer readable medium. Exemplary computer readable media suitable for implementing the subject matter described herein include disk memory devices, programmable logic devices, application specific integrated circuits, and downloadable electrical signals. In addition, a computer readable medium that implements the subject matter described herein may be distributed across multiple physical devices and/or computing platforms.

BRIEF DESCRIPTION OF THE DRAWINGS

Preferred embodiments of the subject matter described herein will now be explained with reference to the accompanying drawings of which:

FIG. 1 is a block diagram of an exemplary communications network including functionality for using ENUM service to perform routing resolution for message service messages according to an embodiment of the subject matter described herein;

FIG. 2 is a message flow diagram illustrating exemplary messages exchanged in delivering a message service message to a 3G delivery address according to an embodiment of the subject matter described herein;

FIG. 3 is a block diagram of an exemplary communications network illustrating delivery of a message service message to a 2G delivery address for a subscriber when an ENUM database lacks a 3G delivery address for the subscriber according to an embodiment of the subject matter described herein;

FIG. 4 is a message flow diagram illustrating exemplary messages exchanged in delivering a message service message to a 2G delivery address for a subscriber when an ENUM database lacks an entry for the subscriber according to an embodiment of the subject matter described herein;

FIG. 5 is a block diagram of an exemplary communications network illustrating an example where an ENUM database queries a presence database to select an available delivery address according to an embodiment of the subject matter described herein;

FIG. 6 is a flow chart illustrating exemplary steps in delivering a message service message to a 2G or a 3G network based on a subscriber delivery preference according to an embodiment of the subject matter described herein; and

FIG. 7 is a block diagram of a message service gateway for a recipient for providing 2G/3G message service message routing resolution according to an embodiment of the subject matter described herein.

DETAILED DESCRIPTION

According to one aspect of the subject matter described herein, a method for message service message routing resolution among 2G and 3G networks is provided. FIG. 1 illustrates an exemplary communications network 100 including functionality for using ENUM service to perform routing resolution for message service messages according to an embodiment of the subject matter described herein. In FIG. 1, mobile switching center/visitor location register (MSC/VLR) 102 performs media stream switching and signaling functions for mobile telephone calls. MSC/VLR 102 may also perform location register functions for roaming subscribers. MSC/VLR 102 generates signaling messages for delivering message service messages originated by mobile subscribers. A 2G/3G message service gateway 104 performs routing resolution for delivering message service messages to 2G network 106 and 3G network 108. In one exemplary implementation, 2G/3G message service gateway 104 includes a 2G/3G message service routing resolution application 110 for communicating with an ENUM database 112 to perform the routing resolution.

2G/3G message service routing resolution application 110 may query ENUM database 112 to obtain the delivery address for a message service message received by 2G/3G message service gateway 104. If a 3G delivery address is provisioned for an intended recipient in ENUM database 112, 2G/3G message service routing resolution application 110 may insert that address in the message and attempt to deliver the message to 3G network 108. If, however, a 3G delivery address is not provisioned for the intended recipient in ENUM database 112, 2G/3G message service routing resolution application 110 may attempt to deliver the message based on a 2G delivery address contained in the message. Detailed message flow examples for both of these cases will be described below.

In the illustrated example, 2G network 106 includes IS-41 network 114 and GSM network 116. Similarly, 3G network 108 includes IMS network 118, SIP network 120, and Internet 122. It should be understood that the 2G and 3G network examples illustrated in FIG. 1 are shown for illustrative purposes only and that 2G network 106 and 3G network 108 may use different or additional protocols.

In the message flow example illustrated in FIG. 1, MSC 102 originates an IS-41 short message delivery point-to-point (SMDPP) message 122 and forwards the message to 2G/3G message service message gateway 104. Gateway 104 formulates a query 124 including a message recipient identifier and sends the query to ENUM database 112. The message recipient identifier may be a 2G message recipient identifier extracted or derived from the SMDPP message. For example, the message recipient identifier may be any one of a short code address, a mobile identification number, a mobile subscriber ISDN number, an E.164 number, a North American numbering plan (NANP) number, or an IP-based short message peer-to-peer (SMPP) address.

In one embodiment, gateway 104 may be adapted to re-format the message recipient identifier into an E.164 form for use with ENUM database 112. For instance, an E.212 formatted message recipient identifier may be re-formatted to an E.164 form prior to querying of the ENUM database 112. In this example, it is assumed that ENUM database 112 has a 3G delivery address corresponding to the message recipient identifier. Accordingly, ENUM database 112 performs a lookup based on the message recipient identifier and returns an NAPTR record including one or more 3G delivery addresses for the intended recipient. 2G/3G message service message gateway 104 receives the message including the NAPTR record for the subscriber and formulates a SIP message (e.g., SIP MESSAGE or SIP INFO message) for delivering the message service message to 3G network 108.

FIG. 2 is a message flow diagram illustrating in more detail exemplary messages associated with delivering a message service message to a 3G delivery address using an ENUM database according to an embodiment of the subject matter described herein. Referring to FIG. 2, in line 1 of the message flow diagram, MSC/VLR 102 formulates an IS-41 SMDPP message and sends the SMDPP message to gateway 104. In line 2 of the message flow diagram, gateway 104 formulates a lookup subdomain message including a recipient identifier and forwards the lookup subdomain message to ENUM database 112. In line 3 of the message flow diagram, ENUM database returns a response to gateway 104 including the 3G delivery address for the intended recipient.

In line 4 of the message flow diagram, 2G/3G message service message gateway formulates a SIP MESSAGE message including the message service message content and forwards the message to a SIP session server 200. In line 5 of the message flow diagram, 2G/3G message service message gateway 104 sends an IS-41 response message indicating that the SMDPP message in line 1 has been delivered to the 3G network.

In line 6 of the message flow diagram, SIP session server 200 formulates a SIP MESSAGE message and sends the message to message application server 202. In line 7 of the message flow diagram, message application server 202 formulates a 200 OK message and sends the message to SIP session server 200. It should be noted that message application server 202 may perform operations on the SIP message and may modify the SIP message prior to delivery. Accordingly, in line 8 of the message flow diagram, message application server 202 formulates a SIP MESSAGE message and sends the message to SIP session server 200. In line of the message flow diagram, SIP session server 200 formulates a SIP MESSAGE message including the message service message content and forwards the message to mobile SIP client 204. In line 10 of the message flow diagram, mobile SIP client 204 sends a 200 OK message to SIP session server 200. In line 11 of the message flow diagram, SIP session server 200 sends a 200 OK message to message application server 202. In line 12 of the message flow diagram, SIP session server 200 sends a 200 OK message to message service message gateway 104 concluding the message delivery transaction.

FIG. 3 is a network diagram of network 100 illustrated in FIG. 1 illustrating the case where ENUM database 112 does not include a 3G delivery address for a subscriber. Referring to FIG. 3, MSC/VLR 102 formulates an IS-41 SMDPP message and sends the message to 2G/3G message service message gateway 104. 2G/3G message service message gateway 104 queries ENUM database 112 for a 3G delivery address for the subscriber. In this case, ENUM database 112 does not include a 3G delivery address for the subscriber. Accordingly, ENUM database 112 responds indicating that a 3G delivery address is not provisioned for the intended recipient.

In response to receiving the message indicating that a 3G address is not provisioned for the subscriber, 2G/3G message service message gateway 104 attempts to deliver the message via 2G network 106. In the illustrated example, 2G/3G message service message gateway may extract a 2G message service message delivery address from the message and deliver the message to the appropriate 2G network. In this example, the subscriber is located in GSM network 116. Accordingly, 2G/3G message service message gateway sends a GSM forward short message message to GSM network 116.

FIG. 4 is a message flow diagram illustrating in more detail exemplary messages exchanged between the entities associated with the 2G delivery example illustrated in FIG. 3. Referring to FIG. 4, in line 1, MSC/VLR 102 formulates an IS-41 SMDPP message and sends the message to 2G/3G message service gateway 104. In line 2 of the message flow diagram, 2G/3G message service gateway 104 sends a lookup subdomain message to ENUM database 112. In line 3 of the message flow diagram, ENUM database 112 responds with a message indicating that a 3G delivery address was not provisioned for the destination mobile subscriber.

Accordingly, in 2G/3G MS gateway 104 may attempt to deliver the message via the 2G network. In line 4 of the message flow diagram, 2G/3G MS gateway formulates and sends an IS-41 SMDPP message to the short message service center associated with the destination mobile subscriber. In this example, the destination mobile subscriber is referred to as mobile station A or MS_A. The address of the message center serving the mobile subscriber may be determined by performing a global title translation on the SMS destination address stored in the MAP portion of the SMDPP message. In line 5 of the message flow diagram, IS-41 SMSC 400 sends an SMS request message to IS-41 HLR 402 to determine the system that is currently serving mobile station A. In line 6 of the message flow diagram, IS-41 HLR 402 responds with the SMS address of the serving MSC. In line 7 of the message flow diagram, IS-41 SMSC 400 sends an SMDPP message including the short message content to IS-41 MSC 404.

In lines 8 and 9 of the message flow diagram, IS-41 MSC 404 delivers the message service message to mobile station A 406 and receives acknowledgement from mobile station A 406. In lines 10 and 11 of the message flow diagram, acknowledgement of delivery of the message service message is communicated to IS-41 SMSC 400 and 2G/3G message service gateway 104.

Although the examples in FIGS. 3 and 4 relate to using the ENUM database and attempting to deliver a message service message to an IS-41 subscriber, the subject matter described herein is not limited to delivering messages to IS-41 2G subscribers. In an alternate implementation, 2G/3G message service gateway 104 may deliver messages to 2G GSM subscribers using ENUM database 112. For example, referring back to FIG. 3, the SMDPP message received by 2G/3G message service message gateway 104 may be a GSM forward short message message. Similarly, once 2G/3G message service gateway determines that a 3G network address is not provisioned for the subscriber, 2G/3G message service message gateway 104 may formulate a GSM forward short message message and forward the message to the SMSC or other entity in GSM network 116 for delivery to a GSM subscriber.

In yet another alternate implementation, 2G/3G message service gateway 104 may store information for subscribers with dual mode handsets capable of operating in IS-41 and GSM networks. In such an implementation, 2G/3G message service message gateway may store information indicating the type of network in which the subscriber is currently registered and use that information to formulate the appropriate message to IS-41 network 114 or GSM network 116. Detailed examples of methodology suitable for deriving IS-41 or GSM registration information and storing that information in a signaling message routing node is described in commonly-assigned, co-pending U.S. Patent Application Publication No. US2004/0219935 A1, the disclosure of which is incorporated herein by reference in its entirety.

The subject matter described herein is not limited to attempting to deliver a message to a 2G subscriber in response to determining that a record for the subscriber is not provisioned in ENUM database 112. For example, a message service gateway according to an embodiment of the subject matter described herein may also attempt to deliver a message to a subscriber via the 2G network when ENUM database 112 determines that the subscriber is not available via any of the subscribers provisioned 3G delivery addresses based on presence information. FIG. 5 illustrates this scenario. In FIG. 5, MSC/VLR 102 sends an IS-41 SMDPP message to 2G/3G message service message gateway 104. In response, 2G/3G message service gateway 104 queries ENUM database 112 for a 3G delivery address for the subscriber. ENUM database 112 queries presence database 500 to determine whether the subscriber is reachable via any of the 3G addresses located in its internal database lookup. In step 4, it is assumed that presence database 500 returns a response indicating that the subscriber is not available at any of the 3G addresses. Accordingly, in step 5, ENUM database responds to 2G/3G message service gateway 104 indicating that all of the 3G network delivery addresses are unavailable or with a null record that does not indicate any 3G delivery addresses. In step 6, 2G/3G message service gateway 104 attempts to deliver the message to the subscriber via 2G network 106. The detailed message flow for such delivery may be similar to that illustrated in FIG. 4.

The subject matter described herein is not limited to having the ENUM database query the presence database. In an alternate implementation, gateway 104 may query an internal or external presence database to determine the 3G address availability.

In yet another enhancement of the subject matter described herein, 2G/3G message service message gateway may store preference data indicative of whether a subscriber desires to have messages delivered via 3G network 108, 2G network 106, or both. FIG. 6 is a flow chart illustrating exemplary steps that may be performed by 2G/3G message service gateway 104 in using subscriber preference information and/or ENUM information in determining whether to deliver a message to a subscriber via 2G network 106 or 3G network 108 according to an embodiment of the subject matter described herein. Referring to FIG. 6, in step 600, gateway 104 receives a message service message. In step 602, gateway 104 may determine the destination subscriber delivery preference. If the destination subscriber delivery preference is 2G only, control proceeds to step 604 where gateway 104 attempts to deliver the message via 2G network 106 without querying the ENUM database.

Returning to step 602, if the subscriber's delivery preference is determined to be 3G only, control proceeds to step 606 where gateway 104 queries ENUM database 112. In step 608, gateway 104 receives a response from ENUM database 112. In step 610, it is determined whether the response indicates an available 3G delivery address. If the response indicates an available 3G delivery address, control proceeds to step 612 where the message is forwarded to the 3G delivery address returned by ENUM database 112. In step 610, if the response does not indicate an available 3G delivery address, the ENUM database may be queried a predetermined number of times until an available delivery address is provisioned or an address that is currently unavailable becomes available. Accordingly, in step 614, it is determined whether the maximum number of retries has been exceeded. If the maximum number of retries has not been exceeded, steps 606-610 are repeated until the message can be delivered. If the maximum number of retries is exceeded, control proceeds to step 616 where a 3G delivery failure is indicated.

Returning to step 602, if it is determined that the subscriber delivery preference is other than 2G only or 3G only, control proceeds to step 618 where ENUM database 112 is queried. In step 620, a response is received. In step 622, it is determined whether the response indicates an available 3G delivery address. If the response does not indicate an available 3G delivery address, control returns to step 604 where the message is attempted to be delivered via the 2G network. If the message contains an available 3G delivery address, control proceeds to step 624 where the message is attempted to be delivered via the 2G and/or the 3G network in accordance with subscriber preferences. For example, if 2G and 3G delivery addresses are available, the subscriber may prefer 3G delivery addresses, and the message may be delivered via the 3G network. In another example, a subscriber may prefer 2G addresses over 3G addresses and delivery may be attempted via the 2G network. In yet another example, a subscriber may prefer to receive messages via both the 2G and 3G networks for maximum reliability.

FIG. 6 is a block diagram illustrating an exemplary internal architecture of 2G/3G message service gateway 104 according to an embodiment of the subject matter described herein. In FIG. 6, gateway 104 includes a high speed inter-processor message transport (IMT) communications bus 702. A number of distributed processing modules or cards may be coupled to IMT bus 702. In FIG. 7, these processing modules or cards include a pair of maintenance and administration subsystem processors (MASP) 704, a signaling system 7 (SS7) link interface module (LIM) 706, a IP-capable DCM 708, and a 2G/3G database services module (DSM) 710. These modules may be physically connected to the IMT bus 702 such that signaling and other types of messages may be routed internally between active cards or modules. The distributed, multi-processor architecture of 2G/3G SMG 104 may facilitate the deployment of multiple LIM, DCM, DSM and other cards, all of which may be simultaneously connected to and communicating via IMT bus 702.

MASP pair 704 implements a maintenance and administration subsystem function that is not particularly relevant to a discussion of the 2G/3G message service message routing of the present disclosure. Accordingly, a detailed discussion of their function is not provided herein.

LIM 706 interfaces with one or more external signaling links. LIM 706 may have a number of sub-components. In FIG. 7, these sub-components include an SS7 MTP level 1 & 2 function 712, an SS7 MTP level 3 layer message discrimination function 714, message distribution function 716, and a routing function 718. MTP level 1 and 2 function 712 provides facilities to send and receive digital data over a particular physical medium, as well as to provide error detection, error correction and sequenced delivery of SS7 messages.

MTP level 3 discrimination function 714 may receive signaling messages from the lower processing layers and perform discrimination operations, which may include determining whether a received message (e.g., an SS7 message) is to be allowed into gateway 104 and determining whether the received message packet requires processing by an internal processing subsystem or is simply to be through switched (i.e., routed on to another node in the network). Examples of received SS7 messages that may require internal processing include signaling connection control part messages in need of global title translation (GTT) and signaling network management messages. By providing this discrimination functionality, discrimination function 714 may effectively provide 2G/3G message service gateway 104 with a network firewall. Discrimination function 714 may examine received message parameters, including message transfer part (MTP) routing label parameters, signaling connection control part (SCCP) layer parameters, transaction capabilities application part (TCAP) layer parameters, and mobile application part (MAP) layer parameters. Exemplary discrimination parameters include origination point code (OPC)/destination point code (DPC) parameters, a service indicator (SI) parameter, SCCP called and calling party address parameters, an SCCP subsystem (SSN) parameter, a translation type (TT) parameter, a MAP operation code (OpCode) parameter, and others. Discrimination based on these parameters enables function 714 to determine whether internal processing is required.

For signaling connection control part (SCCP) messages that require GTT or other processing by 2G/3G DSM 710, message distribution function 716 may receive such messages from discrimination function 714 and direct the messages to 2G/3G DSM 710 via IMT bus 702.

For messages that contain message service message content, discrimination function 614 may identify such messages and forward these messages to distribution function 616. Distribution function 616 may distribute such messages to one of a plurality of identically provisioned DSM modules 610. This type of internal distribution of messages within 2G/3G message service message 104 should not be confused with message routing, which refers to selecting an external signaling link over which a received message may be forwarded.

Routing function 718 is responsible for examining an incoming message and determining on which outbound linkset and link the message is to be transmitted. Unlike conventional MTP routing functions that select routes based only in DPC and route cost, routing function 718 may utilize origination or source entity information associated with non-adjacent nodes (e.g., an OPC value, a source IP address, a calling party dialed number, etc.) during route selection process. As such, messages addressed to the same destination point code but sent from different origins may be forwarded over different routes to the same destination independently of the intermediate network between the signaling message origin and 2G/3G message service gateway 104. Once route selection is made, routing function 718 may ensure that the message is directed internally to the appropriate communication module (e.g., SS7 LIM, DCM, 2G/3G DSM, etc.) for outbound transmission.

DCM 708 includes an IP transport function 720, a signaling protocol adaptation/translation function 722, a discrimination function 724, a distribution function 726, and a routing function 728. IP transport function 720 includes hardware and software for implementing OSI layers 1-3. For example, IP transport function may implement a physical layer protocol, such as Ethernet, a network layer protocol, such as IP, and a transport layer protocol, such as transmission control protocol (TCP), user datagram protocol (UDP), and/or stream control transmission protocol (SCTP). According to one exemplary embodiment of the subject matter disclosed herein, adaptation and translation function 722 may receive a signaling message from an IP network that is formatted according to a first signaling protocol (e.g., M3UA), and adapt or reformat the message into a second signaling protocol (e.g., MTP). It will be appreciated by those skilled in the art that M3UA is considered to be a protocol for adapting native SS7 signaling messages for transport via an IP communication link. According to another exemplary mode of operation, adaptation and translation function 722 may receive a signaling message, such as a SIP message, and translate the SIP message into an equivalent SS7 or SS7-adaptation protocol message, and vice-versa. These adaptation and translation processing operations may be performed on in-bound and out-bound signaling messages. In yet another embodiment of the subject matter disclosed herein, an adaptation and translation function similar to function 722 may be located on LIM and high speed link (HSL) communication modules, thereby enabling signaling message adaptation and translation operations to be performed on some or all LIM and HSL interfaces in an SMG routing node.

Discrimination function 724 performs discrimination operations similar to those described above with respect to discrimination function 714, and as such discrimination function 724 may provide 2G/3G message service 104 with a network firewall. In addition to the SS7 and SS7-adaptation protocol discrimination parameters described above, discrimination function 724 may also examine received SIP message parameters including a To parameter, a From parameter, a Via parameter, a source IP address parameter, a destination IP address parameter, and others. Discrimination based on these parameters enables function 724 to determine whether screening or internal processing is required. According to one embodiment, discrimination function 724 may copy a received signaling message, such that the original message may be routed to the target destination and the message copy may be processed by one or more processing subsystems associated with the SMG.

Distribution function 726 handles the internal routing of message packets that require additional processing prior to final routing. Such messages may include signaling messages associated with message service messages such as SMS, MMS, and IM services (e.g., SIP INFO message, SIP MESSAGE message, SIP INVITE message, etc.), as well as mobility management messages. Routing function 728 is adapted to access network routing rule information, which may include SS7 and IP network routing rules, and apply these routing rules to messages that require routing.

DSM 610 may include 2G/3G message service routing resolution application 110 described above. In addition, DSM 710 may include one or more databases 734, 736, and 738 for processing message service messages. In the illustrated example, database 634 stores subscriber preferences indicating whether a subscriber prefers 2G or 3G delivery. Database 636 is a message buffer for buffering message service messages or parameters for messages while ENUM and/or presence database is being queried. Database 638 stores ENUM and/or presence information. For example, ENUM database 112 may reside entirely within gateway 104. In such an implementation, database 638 may perform the functions of ENUM database 112 described above. Similarly, presence information may be stored on DSM 610. In such an implementation, database 638 may include presence information for global communications subscribers. In yet another alternate implementation, database 638 may cache ENUM and/or presence information received from responses to external queries to presence and/or ENUM databases.

In the example illustrated in FIG. 7, the dashed line arrow labeled “FROM 2G NETWORK” on LIM 610 represents a message service message that is received from an external network. The message may be forwarded by discrimination function to distribution function 716. Distribution function 716 may forward the message via IMT bus 602 to 2G/3G messaging service routing resolution application 110. 2G/3G messaging service message application 110 may query an internal or external ENUM database and attempt to deliver the message via 2G network or 3G network, depending on subscriber preferences and address availability. The dash line from application 110 through DCM 708 represents delivery of a message to the 3G network. Similarly, the dashed line from application 610 through LIM 606 indicates delivery of the message via the 2G network.

It will be understood that various details of the subject matter described herein may be changed without departing from the scope of the subject matter described herein. Furthermore, the foregoing description is for the purpose of illustration only, and not for the purpose of limitation, as the subject matter described herein is defined by the claims as set forth hereinafter. 

1. A method for messaging service message routing resolution among second generation (2G) and subsequent generation network systems, the method comprising: (a) receiving a message including message service message content and a 2G message recipient identifier; (b) querying an E.164 number (ENUM) database using the 2G message recipient identifier; and (c) receiving a response from the ENUM database, determining, based on the response, unavailability of a subsequent generation network delivery address for the recipient, and attempting to deliver the message service content to the recipient via a 2G network.
 2. The method of claim 1 wherein receiving a message includes receiving a short message service (SMS) message.
 3. The method of claim 1 wherein receiving a message includes receiving a multimedia message service (MMS) message.
 4. The method of claim 1 wherein the 2G message recipient identifier includes an identifier selected from a group including short code address, a mobile identification number, a mobile subscriber ISDN number, an E.164 number, a North American numbering plan (NANP) number, and an IP-based short message peer-to-peer (SMPP) address.
 5. The method of claim 1 wherein receiving a response from the ENUM database includes receiving a response including a null value for a 3G network address.
 6. The method of claim 1 wherein receiving a response from the ENUM database includes receiving a response including a 3G network address along with an indicator indicating that the subscriber is currently unavailable at the 3G network address.
 7. The method of claim 1 wherein attempting to deliver the message service message content to the recipient via the 2G network includes translating a short message service center entity address in a mobile application part (MAP) portion of the message to a point code corresponding to a short message service center serving the recipient, formulating a message service message delivery message including the message service message content, and forwarding the message service message delivery message to the short message service center.
 8. The method of claim 1 wherein attempting to deliver the message service message content to the recipient via the 2G network includes formulating an IS-41 message service message delivery message including the message service message content and forwarding the IS-41 message service message delivery message to an IS-41 network.
 9. The method of claim 1 wherein attempting to deliver the message service message content to the recipient via the 2G network includes formulating a GSM message service message delivery message including the message service message content and forwarding the GSM message service message delivery message to the GSM network.
 10. The method of claim 1 wherein determining, based on the response, unavailability of a subsequent generation network delivery address for the recipient includes querying a presence database using a 3G address returned by the ENUM database.
 11. A method for message service message routing resolution among second generation (2G) and subsequent generation network systems, the method comprising: (a) receiving a message including message service content and a 2G message recipient identifier; (b) determining whether subscriber preference information regarding delivery of the message via a 2G network or a subsequent generation network exists; and (c) in response to determining that delivery preference information exists, delivering the message service content to a recipient via at least one of the 2G and the subsequent generation network in accordance with the preference information.
 12. A system for messaging service message routing resolution among second generation (2G) and subsequent generation network systems, the system comprising: (a) an E.164 Number (ENUM) database for storing information for translating 2G subscriber identifiers to 3G addresses; and (b) a 2G/subsequent generation message service gateway operatively associated with the ENUM database for receiving message including message service content and a 2G recipient identifier, for querying the ENUM database using the 2G recipient identifier, for receiving a response from the ENUM database, for determining, based on the response, unavailability for the recipient, and for attempting to deliver the message service content to the recipient via a 2G network.
 13. The system of claim 12 wherein the message comprises a short message service (SMS) message.
 14. The system of claim 12 wherein the message comprises a multimedia message service message.
 15. The system of claim 12 wherein the message recipient identifier includes an identifier selected from a group including a short code address, a mobile identification number, a mobile subscriber ISDN number, an E.164 number, a North American numbering plan (NANP) number, and an IP-based short message peer-to-peer (SMPP) address.
 16. The system of claim 12 wherein the 2G/subsequent generation message service gateway is adapted to attempt to deliver the message service content via an IS-41 network.
 17. The system of claim 12 wherein the 2G/subsequent generation message service gateway is adapted to attempt to deliver the message service content via a GSM network.
 18. The system of claim 12 wherein the ENUM database is adapted to query a presence database to determine availability of a 3G address corresponding to the recipient.
 19. The system of claim 12 wherein the 2G/3G message service message gateway is adapted to query a presence database to determine availability of a 3G address corresponding to the recipient.
 20. A second generation/subsequent generation message service gateway comprising: (a) at least one communications module for receiving a message including message service message content and a message recipient identifier; and (b) a second generation/subsequent generation message service routing resolution application for receiving the message, for querying an E.164 numbering (ENUM) database using the message recipient identifier, for receiving a response and determining, based on the response, a subsequent generation network delivery address for the recipient, and for attempting to deliver the message service content to the recipient via a 2G network.
 21. The second generation/subsequent generation message service gateway of claim 20 wherein the at least one communications module includes an SS7 communications module for sending and receiving SS7 messages including message service content.
 22. The second generation/subsequent generation message service gateway of claim 20 wherein the at least one communications module includes an Internet protocol (IP) communications module for sending and receiving IP messages including message service content.
 23. The second generation/subsequent generation message service gateway of claim 20 wherein the second generation/subsequent generation message service routing resolution application is adapted to attempt to deliver the message service content to the recipient via an IS-41 network.
 24. The second generation/subsequent generation message service gateway of claim 20 wherein the second generation/subsequent generation message service routing resolution application is adapted to attempt to deliver the message service content to the recipient via a GSM network.
 25. The second generation/subsequent generation message service gateway of claim 20 wherein the second generation/subsequent generation message service message routing resolution application is adapted to translate the recipient identifier into a 2G node address.
 26. The second generation/subsequent generation message service gateway of claim 20 wherein the second generation/subsequent generation message service message routing resolution application is adapted to query a presence database to determine unavailability of a 3G address for the recipient.
 27. The second generation/subsequent generation message service gateway of claim 20 wherein the second generation/subsequent generation message routing resolution application is adapted to access stored preference information for the recipient and to attempt to deliver the message service content to the recipient in accordance with the stored preference information.
 28. A computer program product comprising computer-executable instructions embodied in a computer-readable medium for performing steps comprising: (a) receiving a message including message service message content and a 2G message recipient identifier; (b) querying an E.164 number (ENUM) database using the 2G message recipient identifier; and (c) receiving a response from the ENUM database, determining, based on the response, unavailability of a subsequent generation network delivery address for the recipient and attempting to deliver the message service content to the recipient via a 2G network.
 29. A computer program product comprising computer-executable instructions embodied in a computer-readable medium for performing steps comprising: (a) receiving a message including message service content and a 2G message recipient identifier; (b) determining whether subscriber preference information regarding delivery of the message via a 2G network or a subsequent generation network exists; and (c) in response to determining that delivery preference information exists, delivering the message service content to a recipient via at least one of the 2G and the subsequent generation network in accordance with the preference information. 